package day06;

import java.util.Arrays;
import java.util.Random;

public class MethodDemo {
    public static void main(String[] args) {
        /*
        say();//调用say()方法
        System.out.println("------------");
        sayHi("zhangsan");
        sayHi("lisi");
        System.out.println("------------");
        sayHello("zhangsan",25);
        sayHello("lise",15);
        System.out.println("------------");

        int a = sum(5,6);//sum(5,6)的值就是return后的那个数
        System.out.println(a);//11----模拟对返回值的后续操作
        int m=5,n=6;
        int b=sum(m,n);//传的是m和n里面的数
        System.out.println(b);//11----模拟对返回值的后续操作

        int[] c = generateArray(5,10);//模拟第一个人的访问
        System.out.println("长度:"+c.length);//模拟对返回值的后续操作
        for(int i=0;i<c.length;i++){//模拟对返回值的后续操作
            System.out.println(c[i]);
        }

        int[] d = generateArray(10,30);
        System.out.println("第一个元素的值"+d[0]);
        Arrays.sort(d);
        for(int i=0;i<d.length;i++){
            System.out.println(d[i]);
        }
        System.out.println("-------------");
        sayHello("zhangsan",28);
        sayHello("lisi",32);
        */
        say();//自动绑定无参say
        say("zhangsan");
        say("lisi",20);
        //say(3.14);//编译错误,没有double参的say
    }
    public static void say(int age){}//正确的重载
    public static void say(int age,String name){}
    //public static void say(){return 1;}//编译错误,重载与返回值类型无关
    //public static void say(String address){}//编译错误,重载与参数名称无关

    public static int[] generateArray(int len,int max){
        Random rand = new Random();
        int[] arr = new int[len];
        for(int i=0;i<arr.length;i++){
            arr[i]= rand.nextInt(max);
        }
        return arr;
    }
    //有参有返回值
    public static int sum(int a, int b) {
        int c=a+b;
        return c;//返回的是num里面的那个数
    }
    //有参无返回值
    public static void say(String name,int age){
        if(age>=60){//在某种特定条件下,提前结束方法
            return;//结束方法
        }
        System.out.println("大家好,我是"+name+",今年"+age+"岁了");
    }
    //有参无返回值
    public static void say(String name){
        System.out.println("大家好,我是"+name+",刚满十八岁");
    }
    //无参无返回值
    public static void say(){
        System.out.println("大家好,刚满18岁");
    }
}
